# -*- coding:utf-8
# 5371. 找到所有好字符串 显示英文描述
# 用户通过次数0
# 用户尝试次数0
# 通过次数0
# 提交次数0
# 题目难度Hard
# 给你两个长度为 n 的字符串 s1 和 s2 ，以及一个字符串 evil 。请你返回 好字符串 的数目。
#
# 好字符串 的定义为：它的长度为 n ，字典序大于等于 s1 ，字典序小于等于 s2 ，且不包含 evil 为子字符串。
#
# 由于答案可能很大，请你返回答案对 10^9 + 7 取余的结果。

class Solution:
    def numSteps(self, s: str) -> int:
        jige=0
        s=int(s,2)
        while s!=1:
            if s%2==0:
                s=s//2
            else:
                s+=1
            jige=jige+1
        return jige